package com.ms.teapuesto.persistence.jpa;

//import com.googlecode.genericdao.dao.jpa.GenericDAO;
import com.ms.teapuesto.model.Equipo;
import com.ms.teapuesto.model.EquipoPK;
import com.ms.teapuesto.model.Fecha;
import com.ms.teapuesto.model.FechaPK;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * Created by RAZANERO on 27/08/14.
 */
public interface FechaRepository extends CrudRepository<Fecha, FechaPK> {

    @Query("select  c " +
            " from Fecha c" +
            " where c.liga= :liga and (c.equipo1=:equipo or c.equipo2=:equipo) " +
            "order by c.fecha desc "
    )
    List<Fecha> buscarFechas(@Param("liga") String liga,@Param("equipo") String equipo);

    @Query("select  c " +
            " from Fecha c" +
            " where c.liga= :liga and (c.equipo1=:equipo) " +
            "order by c.fecha desc "
    )
    List<Fecha> buscarFechaLocal(@Param("liga") String liga,@Param("equipo") String equipo);

    @Query("select  c " +
            " from Fecha c" +
            " where c.liga= :liga and (c.equipo2=:equipo) " +
            "order by c.fecha desc "
    )
    List<Fecha> buscarFechaVisita(@Param("liga") String liga,@Param("equipo") String equipo);

    @Query("select  c " +
            " from Fecha c" +
            " where (c.equipo1=:equipo) " +
            "order by c.fecha desc "
    )
    List<Fecha> buscarFechaLocalSinLiga(@Param("equipo") String equipo);

    @Query("select  c " +
            " from Fecha c" +
            " where (c.equipo2=:equipo) " +
            "order by c.fecha desc "
    )
    List<Fecha> buscarFechaVisitaSinLiga(@Param("equipo") String equipo);

    @Query("select  c " +
            " from Fecha c" +
            " where c.liga= :liga and c.equipo1=:equipo1 " +
            "and c.equipo2=:equipo2 order by c.fecha desc "
    )
    List<Fecha> buscarPartido(@Param("liga") String liga,@Param("equipo1") String equipo1,@Param("equipo2") String equipo2);

    @Query("select  c " +
            " from Fecha c" +
            " where " +
            " c.resultadoDoble=:resultado"
    )
    List<Fecha> buscarRemontada(@Param("resultado") String resultado);

    @Query("select  c " +
            " from Fecha c" +
            " where c.liga= :liga order by c.fecha desc "
    )
    List<Fecha> buscarFechasPorLiga(@Param("liga") String liga);

    @Query("select  count(*) " +
            " from Fecha c" +
            " where c.liga= :liga and (c.equipo1=:equipo) and c.primerTiempo='0 - 0'  "
    )
    Integer totalLocalCero(@Param("liga") String leagueNombre,@Param("equipo") String nombreLiveScore);

    @Query("select  count(*) " +
            " from Fecha c" +
            " where c.liga= :liga and (c.equipo2=:equipo) and c.primerTiempo='0 - 0'  "
    )
    Integer totalVisitaCero(@Param("liga") String leagueNombre,@Param("equipo") String nombreLiveScore);
}
